/*
 * @Author: 晟松
 * @Date: 2021-12-10 16:56:05
 * @LastEditors: 晟松
 * @LastEditTime: 2022-03-24 15:48:30
 * @FilePath: \mini-vue3d:\Code\node\koa2\volunteer-service\src\main\controller\Web3Controller.js
 * @Description: 系统管理员的一些操作，简单地说就是开发者的操作，主要用户创建居委会账号和校级管理员账号
 */

import Router from "koa-router";
import koaBodyparser from "koa-bodyparser";
import Web3Service from "@main/service/Web3Service";
import Init from "@main/web3js/Init";

let web3Router = new Router({
    prefix: "/api/web3",
});

web3Router.post("/initLogin", koaBodyparser(), async (ctx) => {
    ctx.body = ctx.renderJson(await Init.initLogin());
});

web3Router.post("/initStudentGroupVol", koaBodyparser(), async (ctx) => {
    ctx.body = ctx.renderJson(await Init.initStudentGroupVol());
});

/**
 * @description: 数据库里的一张表的所有数据初始化到区块链中
 * @param {*} tableName 表名
 * @return {*}
 */
web3Router.post("/initTable", koaBodyparser(), async (ctx) => {
    let { tableName } = ctx.request.body;
    ctx.body = ctx.renderJson(await Init.initTable(tableName));
});
/**
 * @description: 初始化整个数据库的所有表和所有元组，将其存入区块链中
 * @param {*}
 * @return {*}
 */
web3Router.post("/init", koaBodyparser(), async (ctx) => {
    ctx.body = ctx.renderJson(await Init.init());
});

export default web3Router;
